package com.shop.jvm;

/**
 * 1、保证可见性
 * 2、不保证原子性
 * 3、可禁止指令重排
 */
public class VolatileTest {

    volatile int number = 0 ;

    public void addTo60(){
        this.number = 60 ;
    }

    public static void main(String[] args) {
        VolatileTest test = new VolatileTest();
        new Thread(()->{test.addTo60();
            System.out.println(Thread.currentThread().getName()+"修改了number值为60；");}).start();
        //保证可见性 如果不是可见性的 这改程序会一直执行
        while (test.number == 0){

        }
        System.out.println("可见性结束");
    }
}
